home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Disc 38
/
Commodore_Disc_38_19xx_-_de.d64
/
der dreh
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
5KB
|
264 lines
10 rem ***************************
20 rem *** der dreh ***
30 rem *** ***
40 rem *** ein spiel von ***
50 rem *** ***
60 rem *** guenter kramer ***
70 rem *** ***
80 rem *** fuer commodore-disc ***
90 rem ***************************
100 ifv>0then130
110 v=1
120 load"mp-sprite dreh",8,1
130 ifv=2then160
140 v=2
150 load"mp-dreh",8,1
160 gosub350
170 gosub700
180 gosub1260
190 pokeze,22:pokesp,0:syscu
200 print"ein neues spiel? (j/n)"
210 poke198,0
220 geta$:ifa$=""then220
230 ifa$="n"then310
240 ifa$<>"j"then220
250 pokev+21,0
260 gosub1060
270 poke781,22:sys59903
280 pokeze,22:pokesp,0:syscu
290 printchr$(158)"f1 = loesung"
300 goto180
310 sys2048
320 rem ****************
330 rem *** variable ***
340 rem ****************
350 printchr$(28)chr$(147)
360 poke53280,0:poke53281,0
370 b=1024
380 f=55296
390 v=53248
400 s=2040
410 t=54272
420 ze=214
430 sp=211
440 cu=58640
450 dimt$(4)
460 dimk(7)
470 fori=0to4
480 reada
490 ifa=0then560
500 ifa<10then520
510 t$(i)=t$(i)+chr$(a):goto480
520 forj=1toa
530 t$(i)=t$(i)+chr$(32)
540 next
550 goto480
560 next
570 data176,99,105,8,176,99,105,6,105,0
580 data98,1,98,117,99,105,105,117,105
590 data2,98,1,98,105,117,105,117,99,105,171,99,105,0
600 data98,1,98,171,99,189,171,107,3
610 data98,1,98,171,107,1,171,99,189,98,1,98,0
620 data98,1,98,98,2,98,4,98,1,98,98
630 data2,98,2,98,1,98,0
640 data173,99,107,106,99,107,106,4
650 data173,99,107,106,2,106,99,107,106,1,106,0
660 return
670 rem *********************
680 rem *** bild aufbauen ***
690 rem *********************
700 fori=200to236
710 pokeb+i,160
720 next
730 pokeb+240,160
740 fori=241to259
750 pokeb+i,120
760 next
770 fori=260to276
780 pokeb+i,160
790 next
800 pokeb+280,160:pokeb+316,160
810 pokeb+320,160:pokeb+356,160
820 fori=360to396
830 pokeb+i,160
840 next
850 pokeb+375,252
860 pokeb+376,121:pokeb+377,254
870 fori=237to239
880 forj=0to160step40
890 pokef+i+j,0:pokeb+i+j,160
900 nextj,i
910 sys12*4096
920 gosub1060
930 fori=0to4
940 poke214,i+12:poke211,1
950 sys58640
960 printchr$(156)t$(i)
970 next
980 pokeze,14:pokesp,25:syscu
990 printchr$(158)"ein spiel von"
1000 printtab(27)"g. kramer"
1010 pokeze,22:pokesp,0:syscu
1020 printchr$(158)"f1 = loesung"
1030 rem **************************
1040 rem *** sprites einstellen ***
1050 rem **************************
1060 fori=0to15step2
1070 pokev+i+1,101
1080 pokev+14-i,14+9*i
1090 next
1100 poke2047,15
1110 fori=0to6
1120 pokes+i,13
1130 next
1140 pokev+33,0:pokev+32,0
1150 fori=0to7
1160 pokev+39+i,13
1170 next
1180 pokev+37,5:pokev+38,7
1190 pokev+28,255:pokev+27,255
1200 pokev+16,0
1210 pokev+21,255
1220 return
1230 rem ********************
1240 rem *** spiel laeuft ***
1250 rem ********************
1260 d=1:k=0
1270 fori=0to7:k(i)=0:next
1280 pokeze,0:pokesp,15:syscu
1290 printchr$(150)" "d;
1300 printchr$(157)". dreh"
1310 e=0
1320 poke56322,224
1330 e1=peek(56320)
1340 e2=peek(56321)
1350 poke56322,255
1360 e1=e1ande2
1370 if(e1and1)=0thene=1
1380 if(e1and2)=0thene=2
1390 if(e1and4)=0thene=3
1400 if(e1and8)=0thene=4
1410 if(e1and16)=0thene=e+16
1420 ife>0then1490
1430 geta$
1440 ifd>1then1470
1450 ifa$=chr$(133)then1700
1460 goto1280
1470 ifa$=chr$(133)then1660
1480 goto1280
1490 poke198,0
1500 ife=3thengosub2000
1510 ife=4thengosub2090
1520 ife<16then1280
1530 pokeze,22:pokesp,0:syscu
1540 printchr$(158)"f1 = abbrechen"
1550 gosub2170
1560 a=0:fori=0to6
1570 a=a+k(i)
1580 next
1590 ifa<7then1280
1600 gosub2410
1610 fort1=1to350
1620 sys49161
1630 ifpeek(v+16)<255then1650
1640 ifpeek(v)>180thenpokev+21,0
1650 next
1660 return
1670 rem ***************
1680 rem *** loesung ***
1690 rem ***************
1700 a=peek(61)+256*peek(62)
1710 poke65,aand255
1720 poke66,a/256
1730 fori=0to9
1740 readl(i)
1750 next
1760 data4,3,6,3,4,3,5,3,4,3
1770 ifk=1thengosub2000
1780 fori0=0to10
1790 gosub2200
1800 gosub2090:gosub2090:gosub2200
1810 gosub2000:gosub2000:gosub2200
1820 gosub2090:gosub2200
1830 gosub2000:gosub2200
1840 ifi0=10then1960
1850 forj=1tol(i0)
1860 gosub2090
1870 next
1880 gosub2200
1890 forj=1tol(i0)
1900 gosub2000
1910 next
1920 gosub2200
1930 gosub2090:gosub2200
1940 gosub2000
1950 next
1960 goto1600
1970 rem ***************************
1980 rem *** schieben nach links ***
1990 rem ***************************
2000 ifk=0then2050
2010 fori=1to18
2020 sys49158
2030 next
2040 k=k-1
2050 return
2060 rem ****************************
2070 rem *** schieben nach rechts ***
2080 rem ****************************
2090 ifk=7then63999
2100 ifk=0then2120
2110 ifk(k-1)=0then2160
2120 fori=1to18
2130 sys49161
2140 next
2150 k=k+1
2160 return
2170 rem ********************
2180 rem *** drehen knopf ***
2190 rem ********************
2200 ifk=0then2230
2210 ifk=7then2270
2220 ifk(k-1)=1then2270
2230 k(k)=abs(k(k)-1)
2240 pokes+k,13+k(k)
2250 gosub2340
2260 d=d+1
2270 pokeze,0:pokesp,15:syscu
2280 printchr$(150)" "d;
2290 printchr$(157)". dreh"
2300 return
2310 rem **************
2320 rem *** schuss ***
2330 rem **************
2340 fort0=0to24:poket+t0,0:next
2350 poket+5,9:poket+1,21
2360 poket+24,15:poket+4,129
2370 return
2380 rem **************
2390 rem *** glocke ***
2400 rem **************
2410 poket,207
2420 poket+1,34:poket+3,8
2430 poket+7,255
2440 poket+8,34:poket+10,8
2450 poket+14,231
2460 poket+15,34:poket+17,8
2470 poket+5,9:poket+6,9
2480 poket+12,9:poket+13,9
2490 poket+19,9:poket+20,9
2500 poket+24,15
2510 fori=1to6
2520 poket+4,65:poket+11,64
2530 forj=0to100:next
2540 poket+11,65:poket+18,64
2550 forj=0to100:next
2560 poket+4,64
2570 poket+18,65
2580 forj=0to100:next
2590 next
2600 poket+11,64
2610 poket+18,64
2620 poket+24,0
2630 return